<?php
//传址概念
//$b=1;
//function fn(&$f){// 加上&就是传的是一个地址   只要地址里面的值($f和$b)变化了  就会跟着变化，不加就是传值  $f和$b互不干扰。
//    $f=3;
//}
//fn($b); 
//echo $b;
?>



<?php
//静态变量
//function  fn(){
//    static $a=0;  //static 是静态变量的意思   加上static能输出1234，也就是static保证$a=0只在第一次走，脚本在运行之后，静态变量就释放了，不用复原
//    $a++;
//    echo $a;
//}
//fn();fn();fn();fn();

?>
<?php
//function  fn(){
//   $arr= func_get_args();这是一个特殊的方法，得到的是一个数组
//   print_r($arr);
//}
//fn(3,1,5);

//function fn($a,$b,$c){//这种方法比较复杂
//    return $a+$b+$c;
//}
//echo fn(1,2,3);

//function fn(){//这个方法简单  不过涉及到数组知识， $arr=  func_get_args()就是一个数组
//    $arr=  func_get_args();//获得所有参数
//    $num=0;//求和结果变量
//    foreach ($arr as $v) {
//        $num+=$v;//依次求和运算
//    }
//    return $num;//返回求和值
//}
//echo fn(1,2,3);


/////////////////////////////////////////////////////////
//递归函数
//function fn($f){//函数调用函数
//    if($f>1)$s=$f*fn($f-1); //$f大于1，再跳进函数内
//    else $s=$f;
//    return $s ;    //返回结果
//}
//echo fn(5);
/**
 * 5*                       返到这儿，$s=5*4*3*2*1
 *      4*                  返到这儿，$s=4*3*2*1
 *          3*              返到这儿，$s=3*2*1
 *              2*          返到这儿，$s=2*1
 *                  1       当等于1时，网上返
 */


?>



